Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
1. Field of the Invention
The invention relates generally to client-server printing environments and printer management software that support both logical and physical printer objects. More particularly, the invention relates to a mechanism that allows physical printers to be the target of print submissions while preserving job defaulting, validation, and scheduling.
2. Description of the Related Art
International Standards Organization (ISO) Document Printing Application (DPA) 10175, July 1996 (xe2x80x9cISO DPA 10175xe2x80x9d) defines a print model that includes three subtypes of printer objects: logical printer objects, physical printer objects, and logical-and-physical printer objects. Typically, in printer management software the logical printer is used for job defaulting and validation while the physical printer is used to represent the actual output device. FIG. 1 is a simplified block diagram depicting the simplest configuration of objects for driving three non-pooled output devices according to a prior art job submission and processing approach. According to the structure illustrated in this example, for each output device (not shown), the printer management software creates and manages three software objects, e.g., a logical printer, a queue, and a physical printer. In order to receive the full benefits of job and document defaulting, validation, and scheduling, jobs need to be submitted to the logical printers 110, 140, and 170. The logical printers are coupled to corresponding physical printers 130, 160, and 190 by way of queues 120, 150, and 180, respectively. The queues 120, 150, and 180 may perform various scheduling algorithms. For example, jobs may be handled based upon the order submitted, based upon a priority associated with the job, based upon a combination of the order submitted and the priority, or based upon other characteristics of the job. At any rate, when a physical printer becomes available, the job is transferred from the queue 120, 150, or 180 to the corresponding physical printer 130, 160, or 190. The physical printer 130, 160, and 190 typically processes the job using its associated driver (not shown) to create the data stream required by the target output device. The data stream is then communicated to the target output device where it is printed.
While the above print model is extremely powerful and flexible, allowing a very diverse set of printing/queueing configurations, for certain printing environment implementations, this power and flexibility is unneeded and unnecessarily complicates the configuration with lots of objects. It is desirable, therefore, to provide a simplified environment for users who do not yet need all the power and flexibility supplied by this print model.
Because ISO DPA 10175 allows direct job submission to physical printers, one prior attempt at simplification allows physical printers to be the target of job submissions. However, an adverse effect of this approach is the bypassing of critical functionality, e.g., defaulting, validation, and scheduling, provided by the logical printers and queues. Further, while some users can be abstracted from the concept of logical printers, assuming that other users would like to continue to submit jobs to a logical printer, this solution does nothing to actually reduce the number of objects that must be created and maintained for each output device.
Another alternative is to use the logical-and-physical type of printer object defined by ISO DPA 10175. However, this combined type of printer object creates yet another object class and can actually complicate rather than simplify the printing environment for both system administrators and users. In addition, it is unclear where the queues would fit into this model and how scheduling would be performed. Furthermore, if and when the users decide that they want to allow pooling of output devices (e.g., printer pooling), this ISO DPA 10175 solution would probably require a configuration change back to separate logical and physical printer objects.
In view of the foregoing, it is desirable to provide an object model that allows users to have a simple view of the printing environment while preserving the important functions of defaulting, validation, and scheduling. Additionally, it would be advantageous to minimize the need for reconfiguration when pooling is added and/or removed.
A print model is described that supports job submission to either physical or logical printer objects while preserving job defaulting, validation, and scheduling. According to one aspect of the present invention physical printers, e.g., objects representing the capabilities of associated output devices, may be the target of print job submissions. When a print job is received at a physical printer, an association is created between the print job and the physical printer. Then, the print job is routed from the physical printer to a predetermined logical printer, e.g., an object representing an abstract set of job and output device capabilities.
According to another aspect of the present invention, an improved print server includes multiple physical printer objects that may serve as targets of print job submissions. The physical printer objects each correspond to an associated output device and each include an attribute that identifies a logical printer object, if any, through which print jobs may flow to the physical printer object. Additionally, each physical printer object is configured to create an association between print jobs submitted to the physical printer object and the physical printer object. Furthermore, each physical printer object is configured to transfer the print jobs to the logical printer object identified by the attribute. The print server also includes one or more logical printer objects. The logical printer objects are coupled to the physical printer objects and are configured to schedule the print jobs on the physical printer objects with which the print jobs are associated.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.